Skip to content

feat: add CameraLabelsComponent for typed per-camera image labels#84

Merged
janickm merged 3 commits intoNVIDIA:mainfrom
janickm:janickm/camera-labels-component
May 6, 2026
Merged

feat: add CameraLabelsComponent for typed per-camera image labels#84
janickm merged 3 commits intoNVIDIA:mainfrom
janickm:janickm/camera-labels-component

Conversation

@janickm
Copy link
Copy Markdown
Collaborator

@janickm janickm commented Apr 29, 2026

This pull request introduces a comprehensive camera label type system to the NCore data API, including new data types, protocols, and component integration for handling camera-associated image labels. The changes enable structured access to camera label metadata, schemas, and data, and provide a foundation for future extensibility in label handling.

The most important changes are:

1. New Camera Label Type System

  • Introduced new data types for camera labels, including LabelCategory, LabelUnit, LabelEncoding, LabelType, QuantizationParams, LabelSchema, and CameraLabelDescriptor in ncore.impl.data.types to provide structured representation of label metadata, encoding, and quantization. Well-known label types are now exposed as class-level constants for convenience. [1] [2] [3]

2. Protocols and Interfaces for Camera Labels

  • Added CameraLabelsProtocol to define a standard interface for accessing camera-associated image labels, including methods for querying, retrieving, and describing labels. This protocol is exposed in the public API and integrated into the compatibility layer. [1] [2] [3] [4]

3. Integration into Data API and Components

  • Updated ncore.data and ncore.data.v4 public APIs to expose the new label types and protocols, and added CameraLabelsComponent for component-based access to camera labels. The v4 compatibility layer now wraps CameraLabelsComponent.Reader to implement the new protocol. [1] [2] [3] [4] [5] [6] [7] [8] [9]

4. API Consistency and Documentation

  • Improved docstrings and method/property naming for clarity and consistency, especially for new label-related APIs and data types. Added detailed documentation for new classes and their properties. [1] [2] [3]

5. Minor Typing and Import Improvements

  • Refactored imports and typing annotations to support the new label types and protocols, including the use of ClassVar and additional typing improvements.

These changes lay the groundwork for advanced camera label handling and make the NCore data API more extensible and robust for future label-related features.

Example of panoptic segmentation in waymo datasets visualized with ncore_viz
image

@janickm janickm force-pushed the janickm/camera-labels-component branch 5 times, most recently from ca30157 to c5c6a5a Compare May 4, 2026 13:05
@janickm janickm self-assigned this May 4, 2026
@janickm janickm marked this pull request as draft May 4, 2026 14:08
@copy-pr-bot
Copy link
Copy Markdown

copy-pr-bot Bot commented May 4, 2026

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@janickm janickm requested review from michael-shelley and zgojcic May 4, 2026 14:09
@janickm
Copy link
Copy Markdown
Collaborator Author

janickm commented May 4, 2026

[I'm still iterating on the design a little + testing with waymo / data-verse labels, but this is the rough setup]

@janickm janickm force-pushed the janickm/camera-labels-component branch 19 times, most recently from ea17609 to 151567f Compare May 6, 2026 12:23
Comment thread ncore/impl/data/types.py
@janickm janickm force-pushed the janickm/camera-labels-component branch from 151567f to c8022c9 Compare May 6, 2026 12:33
@janickm janickm marked this pull request as ready for review May 6, 2026 13:01
@janickm janickm force-pushed the janickm/camera-labels-component branch 2 times, most recently from 919ac93 to 63de1ad Compare May 6, 2026 13:28
@janickm janickm force-pushed the janickm/camera-labels-component branch from 63de1ad to e2234b2 Compare May 6, 2026 13:48
@janickm janickm enabled auto-merge (rebase) May 6, 2026 13:49
@janickm janickm merged commit 7b7f228 into NVIDIA:main May 6, 2026
5 checks passed
@janickm janickm deleted the janickm/camera-labels-component branch May 6, 2026 13:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant